Increasing the Scope and Resolution of Interprocedural Static Single Assignment

نویسندگان

  • Silvian Calman
  • Jianwen Zhu
چکیده

While intraprocedural Static Single Assignment (SSA) is ubiquitous in modern compilers, the use of interprocedural SSA, although seemingly a natural extension, is limited. We find that part of the impediment is due to the narrow scope of variables handled by previously reported approaches, leading to limited benefits in optimization. In this study, we increase the scope of Interprocedural SSA (ISSA) to record elements and singleton heap variables. We show that ISSA scales reasonably well (to all MediaBench and most of the SPEC2K), while resolving on average 1.72 times more loads to their definition. We propose and evaluate an interprocedural copy propagation and an interprocedural liveness analysis and demonstrate their effectiveness on reducing input and output instructions by 44.5% and 23.3%, respectively. ISSA is then leveraged for constant propagation and dead code removal, where 11.8% additional expressions are folded.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Interprocedural Static Single Assignment Form in Bauhaus

In this paper we describe interprocedural static single assignment form (ISSA) with optimizations as implemented in the Bauhaus project. We explain our framework which uses an abstract program representation enabling us to use different pointer analyses ranging from fast but imprecise to slow but precise ones. Our implementation includes the computation of (may and must) side effects and optimi...

متن کامل

Literature Review of Traffic Assignment: Static and Dynamic

Rapid urban growth is resulting into increase in travel demand and private vehicle ownership in urban areas. In the present scenario the existing infrastructure has failed to match the demand that leads to traffic congestion, vehicular pollution and accidents. With traffic congestion augmentation on the road, delay of commuters has increased and reliability of road network has decreased. Four s...

متن کامل

Optimal Polynomial-Time Interprocedural Register Allocation for High-Level Synthesis Using SSA Form

An optimal, polynomial-time algorithm for interprocedural register allocation in high-level synthesis and ASIP design is presented. The algorithm determines the minimum number of registers required to store all scalar variables in an application without spilling any to memory. Although an optimal polynomialtime algorithm has been presented in the past for individual procedures in Static Single ...

متن کامل

Applying Scalable Interprocedural Pointer Analysis to Embedded Applications

This paper evaluates six different types of interprocedural pointer analyses on 22 telecommunication and media applications and describes their application to an SRAM power reduction technique. This configurable SRAM provides differentiation of data access time and port counts within a single on-chip structure. Scheduling for configurable SRAM relies on inter-procedural dependence analysis for ...

متن کامل

An Interprocedural Parallelizing Compiler and Its Support for Memory Hierarchy Research

We present several new compiler techniques employed by our interprocedural parallelizing research compiler, Panorama, to improve loop parallelization and the eeciency of memory references. We rst present an overview of the compiler and its associated memory architecture simulation environments. We then present an interprocedural array dataaow analysis, using guarded array regions, for automatic...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009